package com.ruoyi.system.service.impl;

import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.CacheUtils;
import com.ruoyi.system.domain.UserVisualBase;
import com.ruoyi.system.mapper.UserVisualBaseMapper;
import com.ruoyi.system.service.UserVisualBaseService;
import com.ruoyi.system.utils.DictUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Author tang ao long
 * @Date 2020-08-18 10:55
 * @Version 1.0
 */
@Service
public class UserVisualBaseServiceImpl implements UserVisualBaseService {

    @Autowired
    private UserVisualBaseMapper userVisualBaseMapper;

    /**
     * 查询用户大屏信息
     *
     * @param userVisualBase 查询对象
     * @return 返回查询list
     */
    @Override
    public List<UserVisualBase> selectUserVisualBaseListByInfo(UserVisualBase userVisualBase) {
        return userVisualBaseMapper.selectUserVisualBaseListByInfo(userVisualBase);
    }

    /**
     * 根据ID循环删除数据
     *
     * @param ids ID值数组
     * @return 返回删除数据的条数
     */
    @Override
    public Integer deleteUserVisualBaseByIds(String ids) {
        int count= userVisualBaseMapper.deleteUserVisualBaseByIds(Convert.toStrArray(ids));
        if(count>0){
            CacheUtils.removeAll(DictUtils.getCacheName());
        }
        return count;
    }

    /**
     * 查询用户大屏信息
     *
     * @param id 查询ID
     * @return 返回查询对象
     */
    @Override
    public UserVisualBase selectUserVisualBaseListById(Integer id) {
        return userVisualBaseMapper.selectUserVisualBaseListByInfo(new UserVisualBase(id)).get(0);
    }

    /**
     * 修改大屏信息
     *
     * @param userVisualBase 待修改大屏信息对象
     * @return 返回修改结果
     */
    @Override
    public Integer updateUserVisualBaseById(UserVisualBase userVisualBase) {
        return userVisualBaseMapper.updateUserVisualBaseById(userVisualBase);
    }

    /**
     * 检查大屏信息唯一
     *
     * @param visualName 大屏名称
     * @return 返回查询条数
     */
    @Override
    public Integer checkVisualBaseNameUnique(String visualName,String id) {
        return userVisualBaseMapper.checkVisualBaseNameUnique(visualName,id);
    }

    /**
     * 根据id查询JSON信息
     *
     * @param id 大屏ID
     * @return 返回查询后的CSS_STYLE
     */
    @Override
    public String selectDataJsonByBaseId(String id) {
        return userVisualBaseMapper.selectDataJsonByBaseId(id);
    }
}
